O5555(CUT THREAD MILL)
(NO HELIX)
(3 AXIS MACRO)
(UNPROVEN)

(FORMAT G65/G66 CDTMRZEF)
(C = #3 - DIVISIONS OF CIRCLE)
(	- SURFACE FINISH)
(	- 360, 720, 1080, ETC.)
(       - MUST BE IN INCREMENTS OF 360)
(D = #7 - TOOL DIAMETER)
(T = #20 - THREADS PER INCH)
(M = #13 - MAJOR DIAMETER)
(R = #18 - R PLANE)
(Z = #26 - Z TOP OF STOCK)
(E = #8 - START OF THREAD/ BOTTOM Z)
(F = #9 - FEEDRATE)
(***********************************)

(CALCULATE ANGLE)
#100=360./#3
(CALCULATE PITCH)
#101=1./#20
(CALCULATE Z MOVEMENTS)
#102=#101/#3
(CALCULATE SWING)
#103=[#13/2]-[#7/2]
(STORE X ABS)
#104=#5001
(STORE Y ABS)
#105=#5002
(CALCULATE ABSOLUTE SWING POSTION Y)
#113=#105+#103
(RAPID TO POS)
G0X#104Y#105
(RAPID TO R PLANE)
Z#18
(STORE #117 WITH END Z POS)
#117=#8
(FEED 50 IPM TO END Z)
G1Z#8F50.
(TURN CUTTER COMP ON)
G41Y#113F#9
(Z TOP MACRO)
WHILE[#5003LT#26]DO1
(ANGLE START OF SWING)
(UPPER LEFT QUADRANT)
N1
#114=0
IF[#114GT90.]GOTO11
#115=#104-SIN#114*#103
#116=#105+COS#114*#103
G1X#115Y#116Z#117F#9
#114=#114+#100
#117=#117+#102
GOTO1
N11
(ANGLE START OF SWING)
(LOWER LEFT QUADRANT)
N2
#114=0
IF[#114GT90.]GOTO12
#115=#104-COS#114*#103
#116=#105-SIN#114*#103
G1X#115Y#116Z#117F#9
#114=#114+#100
#117=#117+#102
GOTO2
N12
(ANGLE START OF SWING)
(LOWER RIGHT QUADRANT)
N3
#114=0
IF[#114GT90.]GOTO13
#115=#104+SIN#114*#103
#116=#105-COS#114*#103
G1X#115Y#116Z#117F#9
#114=#114+#100
#117=#117+#102
GOTO3
N13
(ANGLE START OF SWING)
(UPPER RIGHT QUADRANT)
N4
#114=0
IF[#114GT90.]GOTO14
#115=#104+COS#114*#103
#116=#105+SIN#114*#103
G1X#115Y#116Z#117F#9
#114=#114+#100
#117=#117+#102
GOTO4
N14
END1
(RAPID TO R PLANE)
G0Z#18
(TURN OFF CUTTER COMP)
G40X#104Y#105
(GO BACK TO MAIN PGM)
M99